package grupo1.fotomultas.Fotomultas.EstadosInfraccion;

import org.uqbar.commons.model.UserException;

import grupo1.fotomultas.Fotomultas.Infracciones.Infraccion;

public class InfraccionInvalidada extends EstadoInfraccion {
	
	private static InfraccionInvalidada instance;

	public static InfraccionInvalidada instance(){
		if(instance==null)
			instance = new InfraccionInvalidada();
		return instance;
	}
	
	@Override
	public Boolean estasInvalidada(){
		return true;
	}

	@Override
	public void marcarPagada(Infraccion infraccion) {
		throw new UserException("Una infraccion invalidada no puede ser pagada");
	}
	
	@Override
	public void marcarInvalidada(Infraccion infraccion) {
		throw new UserException("La infraccion ya fue invalidada con anterioridad");
	}

	@Override
	public void marcarPerdonada(Infraccion infraccion) {
		throw new UserException("Una infraccion invalidada no puede ser perdonada");
	}
	
}
